#ifndef _VN_SFML_SOUND_H_
#define _VN_SFML_SOUND_H_

#include "Sound.h"
#include "SFML\Audio.hpp"

namespace vn
{
	class SFMLSound : public vn::Sound
	{
	public:
		SFMLSound(void);
		virtual ~SFMLSound(void);

		void setSoundBuffer(const sf::SoundBuffer& p_soundBuffer);

		virtual void play();
		virtual void stop();
		virtual void pause();

		virtual float getVolume();
		virtual float getPitch();
		virtual bool getLoop();

		virtual void setPitch(float p_pitch);
		virtual void setLoop(bool p_value);
		virtual void setVolume(float p_volume);
		virtual vn::AudioState getAudioState();

	protected:
		sf::Sound m_sound;
	};
}

#endif // _VN_SFML_SOUND_H_